/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

iotcloudgateway开通接口
用户开通iotcloudgateway服务相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef IotcloudgatewayApiModel_h
#define IotcloudgatewayApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKIotcloudgateway/IotcloudgatewayModel.h>


@interface IotcloudgatewayDescribeInstanceRequest:JDCloudRequest

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface IotcloudgatewayQueryInstanceExposeDomainRequest:JDCloudRequest

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface IotcloudgatewayDescribeInstancesRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

@end

@interface IotcloudgatewayQueryInstanceStatusResult : NSObject
/// iotcloudgateway实例状态
 @property (strong,nonatomic,nonnull)  NSString*  status;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithStatus:(NSString*) status;
@end

@interface IotcloudgatewayQueryInstanceExposeDomainResult : NSObject
/// 实例对应下行域名
 @property (strong,nonatomic,nonnull)  NSString*  iotgwd;
/// 实例对应上行域名
 @property (strong,nonatomic,nonnull)  NSString*  iotgwu;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithIotgwd:(NSString*) iotgwd

    iotgwu:(NSString*)iotgwu;
@end

@interface IotcloudgatewayQueryInstanceStatusRequest:JDCloudRequest

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface IotcloudgatewayDeviceControlResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface IotcloudgatewayDeviceControlResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property IotcloudgatewayDeviceControlResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(IotcloudgatewayDeviceControlResult*) result;
@end

@interface IotcloudgatewayQueryInstanceExposeDomainResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property IotcloudgatewayQueryInstanceExposeDomainResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(IotcloudgatewayQueryInstanceExposeDomainResult*) result;
@end

@interface IotcloudgatewayQueryInstanceStatusResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property IotcloudgatewayQueryInstanceStatusResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(IotcloudgatewayQueryInstanceStatusResult*) result;
@end

@interface IotcloudgatewayDescribeInstancesResult : NSObject
/// Instances
 @property (strong,nonatomic,nonnull)  NSArray<Instance*>*  instances;
/// iotcloudgateway实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstances:(NSArray<Instance*>*) instances

    totalCount:(NSNumber*)totalCount;
@end

@interface IotcloudgatewayDescribeInstancesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property IotcloudgatewayDescribeInstancesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(IotcloudgatewayDescribeInstancesResult*) result;
@end

@interface IotcloudgatewayDescribeInstanceResult : NSObject
/// 实例相关信息
 @property (strong,nonatomic,nonnull)  Instance*  instance;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstance:(Instance*) instance;
@end

@interface IotcloudgatewayDescribeInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property IotcloudgatewayDescribeInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(IotcloudgatewayDescribeInstanceResult*) result;
@end

@interface IotcloudgatewayDeviceControlRequest:JDCloudRequest

/// iotcloudgateway实例下发设备控制指令
@property (strong,nonatomic,nonnull)  DeviceControlSpec*  devicecmd;
/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
devicecmd:(DeviceControlSpec*)devicecmd
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
devicecmd:(DeviceControlSpec*)devicecmd
instanceId:(NSString*)instanceId;

@end

#endif /* IotcloudgatewayApiModel_h */
